/**
 * 将对象转为数组
 */

type Obj = Record<string, string>;
interface FormatItem {
  key: string;
  op: string;
  value: string;
}

function objToArray(obj: Record<string, Obj>): FormatItem[] {
  // 使用reduce
  return Object.keys(obj).reduce<FormatItem[]>((value, key) => {
    const op = Object.keys(obj[key])[0];
    value.push({
      key,
      op,
      value: obj[key][op]
    });

    return value;
  }, []);
}

// 测试
console.log(
  objToArray({
    key1: { op1: "value1" },
    key2: { op2: "value2" }
  })
);

// result示例
// [
//     {key: 'key1', op: 'op1', value: 'value1'},
//     {key: 'key2', op: 'op2', value: 'value2'}
// ]
